updated. updated. improved introduction and feature list.
authorØyvind Kolås <ok@src.gnome.org>
Thu, 12 Jun 2008 20:34:51 +0000 (20:34 +0000)
committerØyvind Kolås <ok@src.gnome.org>
Thu, 12 Jun 2008 20:34:51 +0000 (20:34 +0000)
* AUTHORS: updated.
* NEWS: updated.
* docs/index-static.html.in: improved introduction and feature list.

svn path=/trunk/; revision=325

AUTHORS
ChangeLog
NEWS
docs/index-static.html.in

diff --git a/AUTHORS b/AUTHORS
index 2806297be9be10df5fb94b6f3f06923f08b0c950..c461783307354ff8c527a8ae62dbab3607693f79 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,8 +1,8 @@
 <dl>
   <dt>Øyvind Kolås <em>pippin at gimp.org</em></dt>
-        <dd>Lead developer.</dd>
+        <dd>Original author.</dd>
   <dt>Sven Neumann <em>sven at gimp.org</em></dt>
-        <dd>Build sanity.</dd>
+        <dd>Build sanity and optimizations.</dd>
   <dt>Michael Natterer <em>mitch at gimp.org</em></dt>
         <dd>Build sanity.</dd>
   <dt>Kevin Cozens <kcozens at cvs.gnome.org></dt>
@@ -13,5 +13,9 @@
         <dd>win32 support for dynamic extensions.</dd>
         <dd>Portability fixes.</dd>
   <dt>Jan Heller <em>jheller at svn.gnome.org</em></dt>
-       <dd>Optimizations.</dd>
+       <dd>Optimizations, refactoring and documentation.</dd>
+  <dt>Mukund Sivaraman<em>muks at mukund.org</em></dt>
+       <dd><em>Sparse</em> fixes and sanity.</dd>
+  <dt><em>dmacks at netspace.org</em></dt>
+        <dd>Build sanity</dd>
 </dl>
index caf521e212c7b9c434c1d37470c2121730f01711..caaa8996c06cac8bcae6326d2e1a4d2114bc3911 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-06-12  Øyvind Kolås  <pippin@gimp.org>
+
+       * AUTHORS: updated.
+       * NEWS: updated.
+       * docs/index-static.html.in: improved introduction and feature list.
+
 2008-06-12  Jan Heller  <jheller@svn.gnome.org>
 
        * extensions/sse-fixups.c (conv_rgbaF_linear_rgb8_linear),
diff --git a/NEWS b/NEWS
index fc9af9c07a8b99d59f01a6ad7eba5e47669fb35a..f78fff8b2edd63e55a00b2d45a6c24fca9191495 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,11 @@ the news section both in the README and the webpage.
                                                                           -->
 
 
+2008-06-12 babl-0.0.22                                              </dt><dd>
+Speed improvements due to: coalesced hashing, early bail out upon creation of
+duplicate formats, caching of non existing paths. Large amounts of the core has
+also been reviewed and refactored. Improved conversion coverage in the matrix.
+                                                                    </dd><dt>
 2008-02-27 babl-0.0.20                                              </dt><dd>
 Builds on OSX
 Check <0.0 and >1.0 values conversions for accuracy as well.
index 58a88b37db2d3df451093e2e54db9dc3c5654477..45dd909b9cf98c56f5db7be43221cb4eb2ca2425 100644 (file)
   <div class='content'>
 
     <!--<h1>Babl</h1>-->
-    <p>Babl is a <em>dynamic, any to any, pixel format conversion
-      library</em>. It provides conversions between the myriad of buffer
-    types images can be stored in. Babl doesn't only help with existing
-    pixel formats, but also facilitates creation of new and uncommon
-    ones.</p>
+    <p>
+    <br/> <!-- FIXME: should be in CSS -->
+    <strong>babl is a dynamic, any to any, pixel format translation library</strong>.
+    <br/>
+    </p>
+    
+    <p>It allows converting between different methods of storing <a href='http://en.wikipedia.org/wiki/Pixel'>pixels</a> known as <em>pixel formats</em> that have
+    with different bitdepths and other data representations, color models and
+    component permutations.
+      
+    <p> A vocabulary to formulate new <em>pixel formats</em> from existing
+    primitives is provided as well as the framework to add new color models and
+    data types.
+    </p>
 
-    <p><a href='http://www.gegl.org/'>GEGL</a> uses babl both for enumeration
-    of pixel formats as well as conversions between them.</p>
 
 
     <!--<a name='Background'></a>
     <h2>Features</h2>
 
     <ul>
-      <li class='frozen'>Tiny API in normal use.</li>
-      <li class='stable'>Planar and linear buffers.</li>
+      <li class='frozen'>Stable, small API.</li>
       <li class='stable'>Thread safe processing.</li>
-      <li class='unstable'>Extendable <!--and <a href='http://pippin.gimp.org/babl/introspect.txt'>introspectable</a> -->formats,
-      color models, components and datatypes</li>
-      <li class='unstable'>Reference 64bit floating point conversions for
-      data types and color models.</li>
+      <li class='stable'>Self profiling and optimizing.</li>
+      <li class='stable'>Extendable format, color models, components and
+                         datatypes</li>
+      <li class='stable'>Reference 64bit floating point conversions for datatypes and color models.
+      <li class='stable'>ANSI C, works on win32, linux and mac, 32bit and 64bit
+      systems.</li>
     </ul>
 
+    <p><a href='http://www.gegl.org/'>GEGL</a> through <a
+    href='http://www.gegl.org/api.html#GeglBuffer'>GeglBuffer</a> provides
+    tiled buffers with on disk storage as well as linear buffers with accessor
+    functions for efficient data access transparently using babl fishes for
+    translation to the desired pixel formats.</p>
+
     <a name='Download'></a>
     <h2>Download</h2>
 
         buffers represented by an existing BablPixelFormat.
         </p>
         <pre
-><span class='function'>babl_process</span> <span class='paren'>(</span><span class='function'>babl_fish</span> <span class='paren'>(</span><span class='function'>babl_format</span> <span class='paren'>(</span><span class='string'>"srgb"</span><span class='paren'>)</span>, <span class='function'>babl_format</span> <span class='paren'>(</span><span class='string'>"CIE Lab float"</span><span class='paren'>)</span><span class='paren'>)</span>,
-              srgb_buffer, lab_buffer,
-              pixel_count<span class='paren'>);</span></pre>
+>const Babl *srgb            = <span class='function'>babl_format</span> <span class='paren'>(</span><span class='string'>"R'G'B' u8"</span><span class='paren'>)</span>;
+const Babl *lab             = <span class='function'>babl_format</span> <span class='paren'>(</span><span class='string'>"CIE Lab float"</span><span class='paren'>)</span>;
+const Babl *rgb_to_lab_fish = </span><span class='function'>babl_fish</span> <span class='paren'>(</span> srgb, lab);
+int width = 123, height = 581, pixel_count = width * height;
+float         *lab_buffer;
+unsigned char *srgb_buffer;
+
+srgb_buffer = malloc (pixel_count * srgb-&gt;format.bytes_per_pixel);
+
+/* load data into srgb_buffer */
+
+lab_buffer  = malloc (pixel_count * 3 * 4);
+
+<span class='function'>babl_process</span> <span class='paren'>(</span>bablfish, srgb_buffer, lab_buffer, pixel_count<span class='paren'>);</span>
+
+/* do operation in lab space */
+<span class='function'>babl_process</span> <span class='paren'>(</span><span class='function'>babl_fish</span><span class='paren'>(</span>lab, srgb</span><span class='paren'>)</span>,
+                lab_buffer, srgb_buffer, pixel_count<span class='paren'>);</span></pre>
+
+/* the data has now been transformed back to srgb data */
+
+</pre>
         
         <p>If the existing pixel formats are not sufficient for your conversion
         needs, new ones can be created on the fly. The constructor